#pragma once
#ifndef LYRICBAR_MAIN_H
#define LYRICBAR_MAIN_H

#include <gtk/gtk.h>
#include <deadbeef/deadbeef.h>
#include <deadbeef/gtkui_api.h>
#include "LyricUi.h"

#ifndef DDB_LYRICS_EXPORT_LIB
#define DDB_LYRICS_EXPORT_LIB
#endif

# ifdef _WIN32
#  ifdef DDB_LYRICS_EXPORT_LIB
#    define DDB_LYRICS_EXPORT __declspec(dllexport)
#  else
#    define DDB_LYRICS_EXPORT __declspec(dllimport)
#  endif

# else
#  ifdef DDB_LYRICS_EXPORT_LIB
#    define DDB_LYRICS_EXPORT __attribute__((visibility("default")))
#  else
#    define DDB_LYRICS_EXPORT
#  endif
# endif

extern gint death_signal;
#ifdef __cplusplus
extern "C" {
#endif

typedef struct {
    ddb_gtkui_widget_t base;
    LyricWidget* lpLyricWidget;
} widget_lyricbar_t;

extern DDB_LYRICS_EXPORT DB_functions_t * deadbeef;
DDB_LYRICS_EXPORT DB_plugin_t* ddb_lyricbar_gtk3_load(DB_functions_t* ddb);

#ifdef __cplusplus
}
#endif

#endif // LYRICBAR_MAIN_H
